Http Https

总结:http效率更高,https安全性更高。

什么是http

  超文本传输协议(HyperText Transfer Protocol – HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议。
  HTTP在客户端和服务器之间以request-response protocol(请求-回复协议)工作。
  HTTP协议永远都是客户端发起请求,服务器回送响应。
  HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

什么是https

  HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。
  HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

区别:

  https协议需要到ca申请证书,一般免费证书很少,需要交费。

  http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议

  http和https使用的是完全不同的连接方式用的端口也不一样:前者是80,后者是443。

  http的连接很简单,是无状态的 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全

HTTP 请求方式:get post

GET - 从指定的服务器中获取数据
POST - 提交数据给指定的服务器处理

使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:
特点:
  GET请求能够被缓存
  GET请求会保存在浏览器的浏览记录中
  以GET请求的URL能够保存为浏览器书签
  GET请求有长度限制
  GET请求主要用以获取数据

使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器:
特点:
  POST请求不能被缓存下来
  POST请求不会保存在浏览器浏览记录中
  以POST请求的URL无法保存为浏览器书签
  POST请求没有长度限制

HTTP缓存的基本目的就是使应用执行的更快,更易扩展,但是HTTP缓存通常只适用于idempotent request(可以理解为查询请求,也就是不更新服务端数据的请求),这也就导致了在HTTP的世界里,一般都是对Get请求做缓存,Post请求很少有缓存。

GET和POST的区别:

转载地址:http://www.cnblogs.com/igeneral/


http 一次搜索的流程

(1)浏览器先搜索自身的DNS缓存
(2)操作系统搜索自身的DNS缓存(浏览器没有找到缓存或者缓存已经失效)
(3)读取本地的HOST文件
(4)浏览器发起一个DNS的一个系统调用

宽带运营商服务器查看本身缓存
运营商服务器发起一个迭代DNS解析的请求
运营商服务器把结果返回操作系统内核同时缓存起来
操作系统内核把结果返回浏览器
浏览器就拿到了www.imooc.com的IP地址

(5)浏览器获得域名对应的IP地址后,发起HTTP“三次握手”
(6)TCP/IP链接建立起来后,浏览器就可以向服务器发送HTTP请求了
(7)服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的结果数据返回给浏览器,比如页面完整的html代码等返回给浏览器
(8)浏览器拿到了完整的html代码后,在解析和渲染这个页面的时候,里面的JS,CSS,图片静态资源,他们同样也是一个个http请求,都要经过上面的主要七个步骤。
(9)浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户。


http协议学习系列
什么是HTTPS?听大神说https和http有何区别?
HTTP与HTTPS的区别
HTTP 请求方式: GET和POST的比较
缓存 HTTP POST请求和响应
HTTP状态码详解